package edu.bbu.license.client.android.communication.utils;

/**
 * The file transfer observer class. 
 */
public interface FileTransferObserver
{
	/** It sets the DOWNLOAD value.  */
	public static final int DOWNLOAD = 0;
	
	/** It sets the UPLOAD value. */
	public static final int UPLOAD = 1;
	
	/** It sets the FINISHED value. */
	public static final int FINISHED = 2;
	
	/** It sets the STOPPED value */
	public static final int STOPPED = 3;
	
	/** It sets the CRASHED value. */
	public static final int CRASHED = 4;
	
	/** It sets the PAUSED value. */
	public static final int PAUSED = 5;
	
	/**
	 * It sets the file name.
	 * @param fileName the file name.
	 */
	public abstract void setFileName(String fileName);
	
	/**
	 * It returns the file name.
	 * @return the file name.
	 */
	public abstract String getFileName();
	
	/**
	 * It sets the file size.
	 * @param fileSize the file size.
	 */
	public abstract void setFileSize(long fileSize);
	
	/**
	 * It returns the file size.
	 * @return the file size.
	 */
	public abstract long getFileSize();
	
	/**
	 * It sets the progress percent.
	 * @param percent the progress percent.
	 */
	public abstract void setProgressPercent(int percent);
	
	/**
	 * It returns the progress percent.
	 * @return the progress percent.
	 */
	public abstract int getProgressPercent();
	
	/**
	 * It sets the status.
	 * @param status the status.
	 */
	public abstract void setStatus(int status);	
	
	/**
	 * It gets the status.
	 * @return the status.
	 */
	public abstract int getStatus();	
	
	/**
	 * It starts the transfer.
	 */
	public abstract void startTransfer();
	
	/**
	 * It pauses the transfer.
	 */
	public abstract void pauseTransfer();
	
	/**
	 * It stops the transfer.
	 */
	public abstract void stopTransfer();
	
	
}
